// 从 Pinia 库中导入 defineStore 函数，用于定义 stores。
import { defineStore } from "pinia"
// 从 Vue 库中导入 computed 和 ref 函数，用于创建计算属性和响应式引用。
import { computed, ref } from "vue"

/**
 * 定义并导出一个名为 useCounterStore 的 store。
 * 该 store 管理应用中的计数器状态。
 */
export const useCounterStore = defineStore("counter", () => {
  // 创建一个响应式引用 totalCount，初始值为 0。
  const totalCount = ref(0)
  
  /**
   * 增加 totalCount 的值。
   * @param value 要增加的数值。
   */
  const addTotalCount = (value: number) => {
    totalCount.value += value
  }

  // 创建一个计算属性 doubleCount，返回 totalCount 的两倍。
  const doubleCount = computed(() => {
    return totalCount.value * 2
  })
  
  // 返回包含 totalCount、addTotalCount 和 doubleCount 的对象。
  return { totalCount, addTotalCount, doubleCount }
},{persist:true})